package com.shrct.businessprocess.budget;

import com.shrct.businessprocess.budget.RCBudget;
import com.shrct.businessprocess.budget.RCC3BudgetType;
import com.shrct.businessprocess.budget.impl.RCC3BudgetImpl;
import com.shrct.businessprocess.budget.proxy.RCC3BudgetProxy;
import com.shrct.businessprocess.project.RCProjectMoney;
import edu.fudan.mylang.pf.EntityImplementation;

@EntityImplementation(implementBy = RCC3BudgetImpl.class)
public interface RCC3Budget extends RCBudget {
  public abstract RCProjectMoney getNetPrice();
  
  public abstract RCC3Budget setNetPrice(final RCProjectMoney netPrice);
  
  public abstract Double getNetTaxRate();
  
  public abstract RCC3Budget setNetTaxRate(final Double netTaxRate);
  
  public abstract RCProjectMoney getContractPrice();
  
  public abstract RCC3Budget setContractPrice(final RCProjectMoney contractPrice);
  
  public abstract Double getContractTaxRate();
  
  public abstract RCC3Budget setContractTaxRate(final Double contractTaxRate);
  
  public abstract RCC3BudgetType getType();
  
  public abstract RCC3Budget setType(final RCC3BudgetType type);
  
  public abstract String getTypeId();
  
  public abstract String getEntityName();
  
  public abstract RCProjectMoney calcAdjustNetPrice();
  
  public abstract RCC3BudgetProxy toProxy();
}
